package com.vizhuo.utils.term;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.vizhuo.utils.StringUtil;

/**
 * 数据字典类 90开头的是 撮合订单货物相关的码表 建议使用CodesManager\Codes类。
 * 
 * @author 刘大年,(luzh新增码表数值获取功能。)
 */

public class Terms {

    public static Map<String, List<Term>> termMap = new HashMap<String, List<Term>>();



    /**
     * 该map存储于所有区域数据,key:区域编码,value:区域名称
     */
    public static Map<String, String> areaAllMap = new HashMap<String, String>();

    /**
     * 该list存储推送设置参数
     */
    public static List<Map<String, String>> APP_PUSH_INSTALL_LIST = new ArrayList<Map<String, String>>();

    /**
     * 会员账号的状态。
     * 
     * @return
     */
    public static List<Term> mebAccStatusFlagList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("1001");
        return list;
    }

    /**
     * 会员账号的类型。
     * 
     * @return
     */
    public static List<Term> mebAccTypeFlagList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("1006");
        return list;
    }

    /**
     * 会员账户类型
     * 
     * @return
     */
    public static List<Term> mebAccAccountLogAccountTypeList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("1007");
        return list;
    }

    /**
     * 会员认证的状态。
     * 
     * @return
     */
    public static List<Term> mebStatusFlagList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("1002");
        return list;
    }

    /**
     * 商户类型
     * 
     * @return
     */
    public static List<Term> mebConsignerMerchantFlagList() {
        return termMap.get("1004");
    }

    /**
     * 司机同城运输状态
     * 
     * @return
     */
    public static List<Term> mebDriverIsAcceptCityList() {
        return termMap.get("6101");
    }

    /**
     * 司机干线运输状态
     * 
     * @return
     */
    public static List<Term> mebDriverIsAcceptLineList() {
        return termMap.get("6100");
    }

    /**
     * 来源
     * 
     * @return
     */
    public static List<Term> mebSourceList() {
        return termMap.get("3201");
    }

    /**
     * 通用性别
     * 
     * @return
     */
    public static List<Term> sexList() {
        // 编码对应sys_codes表
        return termMap.get("4001");
    }

    /**
     * 用户状态，由于在user对象中该字段是int型，所以取值避开0
     * 
     * @return
     */
    public static List<Term> userStatusList() {
        // 编码对应sys_codes表
        return termMap.get("1003");
    }

    /**
     * 系统用户状态
     * 
     * @return
     */
    public static List<Term> userStateList() {
        // 编码对应sys_codes表
        List<Term> t = termMap.get("1005");
        for (Term tt : t) {
            System.out.println("tt:" + tt.getValue() + " " + tt.getLabel());
        }
        return termMap.get("1005");
    }

    /**
     * 选择坐标类型（加油站，服务站等）
     * 
     * @return
     */
    public static List<Term> LocationTypeList() {
        // 编码对应sys_codes表
        return termMap.get("2001");
    }

    /**
     * MapAPI jingjing
     * 
     * @return
     */
    public static List<Term> MapAPIList() {
        // 编码对应sys_codes表
        return termMap.get("2002");
    }

    /**
     * 地区级别
     */
    public static List<Term> areaLevelList() {
        // 编码对应sys_codes表
        return termMap.get("4002");
    }

    /**
     * 次数
     */
    public static List<Term> nubList() {
        // 编码对应sys_codes表
        return termMap.get("3010");
    }

    /**
     * 分钟
     */
    public static List<Term> minList() {
        // 编码对应sys_codes表
        return termMap.get("3011");
    }

    /**
     * 应用对象
     * 
     * @return
     */
    public static List<Term> applicationList() {
        return termMap.get("4003");
    }

    /**
     * 项目状态
     * 
     * @return
     */
    public static List<Term> probjectStatusList() {
        return termMap.get("4004");
    }

    /**
     * 认证项目格式
     * 
     * @return
     */
    public static List<Term> probjectFormatList() {
        return termMap.get("4005");
    }

    /**
     * 促销活动的状态 jingjing
     */
    public static List<Term> promotionList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("3001");
        return list;
    }

    /**
     * 促销活动的对象 jingjing
     */
    public static List<Term> promotionObjectList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("3002");
        return list;
    }

    /**
     * 促销活动的类型 jingjing
     */
    public static List<Term> promotionCategoryList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("3003");
        return list;
    }

    /**
     * 客户端资讯类型 jingjing
     */
    public static List<Term> informationCategoryList() {
        // 编码对应sys_codes表
        return termMap.get("3101");
    }

    /**
     * 资讯是否置顶 jingjing
     */
    public static List<Term> isTopList() {
        // 编码对应sys_codes表
        return termMap.get("3102");
    }

    /**
     * 促销活动赠送情况 jingjing
     */
    public static List<Term> presentSituationList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("3004");
        return list;
    }

    /**
     * 促销活动的发送方式 jingjing
     */
    public static List<Term> transmitModeList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("3005");
        return list;
    }

    /**
     * 华菱用户租期状态
     */
    public static List<Term> hlComManStateList() {
        // 编码对应sys_codes表
        List<Term> list = termMap.get("4009");
        return list;
    }


    /**
     * 发货首次满足条件
     * 
     * @return
     */
    public static List<Term> sendFirstConditionList() {
        List<Term> list = termMap.get("3012");
        return list;
    }

    /**
     * 发货再次满足条件
     * 
     * @return
     */
    public static List<Term> sendSecondConditionList() {
        List<Term> list = termMap.get("3013");
        return list;
    }

    /**
     * 发货三次满足条件
     * 
     * @return
     */
    public static List<Term> sendThirdConditionList() {
        List<Term> list = termMap.get("3014");
        return list;
    }

    /**
     * 要车首次满足条件
     * 
     * @return
     */
    public static List<Term> toCarFirstConditionList() {
        List<Term> list = termMap.get("3015");
        return list;
    }

    /**
     * 要车再次满足条件
     * 
     * @return
     */
    public static List<Term> toCarSecondConditionList() {
        List<Term> list = termMap.get("3016");
        return list;
    }

    /**
     * 要车三次满足条件
     * 
     * @return
     */
    public static List<Term> toCarThirdConditionList() {
        List<Term> list = termMap.get("3017");
        return list;
    }

    /**
     * 发货推送对象
     */
    public static List<Term> sendObjectList() {
        List<Term> list = termMap.get("3018");
        return list;
    }

    /**
     * 推送时间
     */
    public static List<Term> pushTimeList() {
        List<Term> list = termMap.get("3019");
        return list;
    }

    /**
     * 客户端类型
     */
    public static List<Term> clientTypeList() {
        List<Term> list = termMap.get("3020");
        return list;
    }

    /**
     * 货物类型
     */
    public static List<Term> goodsTypeList() {
        List<Term> list = termMap.get("9001");
        return list;
    }

    /**
     * 运输类型
     */
    public static List<Term> runTypeList() {
        List<Term> list = termMap.get("9010");
        return list;
    }

    /**
     * 货物种类,钢材,家具等
     */
    public static List<Term> goodsSpeciesList() {
        List<Term> list = termMap.get("9003");
        return list;
    }

    /**
     * 车型,9004
     */
    public static List<Term> carTypeList() {
        List<Term> list = termMap.get("9004");
        return list;
    }

    /**
     * 车长,9005
     */
    public static List<Term> carLengthList() {
        List<Term> list = termMap.get("9005");
        return list;
    }

    /**
     * 货源状态
     */
    public static List<Term> goodsStateList() {
        return termMap.get("9007");
    }

    /**
     * 积分商品订单状态集合
     * 
     * @return
     */
    public static List<Term> ordersStateList() {
        return termMap.get("4006");
    }

    /**
     * 身份类型
     * 
     * @return
     */
    public static List<Term> identityTypeList() {
        return termMap.get("9002");
    }

    /**
     * 车辆状态,0:空车,1:接活中
     */
    public static List<Term> carStateList() {
        List<Term> list = termMap.get("9006");
        return list;
    }

    /**
     * 帮扶审核 1.待审核 2.审核失败 3.审核成功
     * 
     * @return
     */
    public static List<Term> helpCheckList() {
        return termMap.get("4007");
    }

    /**
     * 帮扶类型 1.交通，2.求助
     */
    public static List<Term> helpTypeList() {
        return termMap.get("4008");
    }

    /**
     * 反馈信息是否处理0：未处理,1:已处理
     */
    public static List<Term> handleTypeList() {
        List<Term> list = termMap.get("3202");
        return list;
    }

    /**
     * 收发货常用地址类型
     */
    public static List<Term> mebAddressTypeList() {
        List<Term> list = termMap.get("9008");
        return list;
    }

    /**
     * 投诉是否处理0：未处理,1:已处理
     */
    public static List<Term> userComplainList() {
        List<Term> list = termMap.get("3021");
        return list;
    }

    /**
     * 仓库审核状态。
     * 
     * @return
     */
    public static List<Term> wareHouseStatusList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("9009");
        return list;
    }

    /**
     * 帮助类型
     * 
     * @return
     */
    public static List<Term> appHelpTypeList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("5002");
        return list;
    }

    /**
     * 报表导出方式
     * 
     * @return
     */
    public static List<Term> exportTypeList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("3022");
        return list;
    }

    /**
     * 报表显示方式
     * 
     * @return
     */
    public static List<Term> showTypeList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("3023");
        return list;
    }

    /**
     * 报表身份列表
     * 
     * @return
     */
    public static List<Term> rpUserTypeList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("3024");
        return list;
    }

    /**
     * 装车单中的是否已装满
     * 
     * @return
     */
    public static List<Term> containerIsFullList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("3025");
        return list;
    }

    /**
     * 装车单中的认证状态
     * 
     * @return
     */
    public static List<Term> containerCheckFlagList() {
        // list集合可以通过这样的方式得到，尽量不要硬性写死在这个类里面。编码对应sys_codes表
        List<Term> list = termMap.get("3026");
        return list;
    }

    /**
     * 定位服务开通状态
     * 
     * @return
     */
    public static List<Term> openStateTypeList() {
        List<Term> list = termMap.get("9013");
        return list;
    }

    /**
     * 活动推送设置状态
     * 
     * @return
     */
    public static List<Term> proPushStateTypeList() {
        List<Term> list = termMap.get("3027");
        return list;
    }

    /**
     * 投诉类型
     * 
     * @return
     */
    public static List<Term> complainTypeList() {
        List<Term> list = termMap.get("3028");
        return list;
    }

    /**
     * 差评原因类型
     * 
     * @return
     */
    public static List<Term> badEvalReasonTypeList() {
        List<Term> list = termMap.get("3029");
        return list;
    }

    /**
     * 运营商类型
     * 
     * @return
     */
    public static List<Term> ispTypeList() {
        List<Term> list = termMap.get("9014");
        return list;
    }

    /**
     * 物流公司提供服务的类型
     * 
     * @return
     */
    public static List<Term> logisticsServicesTypeList() {
        List<Term> list = termMap.get("9015");
        return list;
    }

    /**
     * 物流公司是否被推荐的类型
     * 
     * @return
     */
    public static List<Term> isRecommentList() {
        List<Term> list = termMap.get("9016");
        return list;
    }

    /**
     * 正常订单操作记录状态码
     * 
     * @return
     */
    public static List<Term> matOrderLogActionFlagList() {
        return termMap.get("4010");
    }

    /**
     * 撤销订单操作记录状态码
     * 
     * @return
     */
    public static List<Term> matOrderLogActionFlagCancelList() {
        return termMap.get("4011");
    }

    /**
     * 司机审核失败码
     * 
     * @return
     */
    public static List<Term> mebDriverCheckFlagItemsList() {
        return termMap.get("1011");
    }

    /**
     * 商户审核失败码
     * 
     * @return
     */
    public static List<Term> mebConsignerCheckFlagItemsList() {
        return termMap.get("1012");
    }

    /**
     * 物流审核失败码
     * 
     * @return
     */
    public static List<Term> mebInfoCheckFlagItemsList() {
        return termMap.get("1013");
    }

    /**
     * 9017咨询类型
     * 
     * @return
     */
    public static List<Term> consultTypeList() {
        return termMap.get("9017");
    }

    /**
     * 9018呼入类型
     * 
     * @return
     */
    public static List<Term> incomingTypeList() {
        return termMap.get("9018");
    }

    /**
     * 9019是否需处理(客户端咨询，投诉)
     * 
     * @return
     */
    public static List<Term> isDealTypeList() {
        return termMap.get("9019");
    }

    /**
     * 9020处理结果状态
     * 
     * @return
     */
    public static List<Term> handlingStateTypeList() {
        return termMap.get("9020");
    }

    /**
     * 9021是否是系统用户
     * 
     * @return
     */
    public static List<Term> isSysUserTypeList() {
        return termMap.get("9021");
    }

    /**
     * 9022是申请取消处理结果
     * 
     * @return
     */
    public static List<Term> cancelOrderTypeList() {
        return termMap.get("9022");
    }

    /**
     * 9023投诉呼入类型
     * 
     * @return
     */
    public static List<Term> compIncomingTypeList() {
        return termMap.get("9023");
    }

    // /**
    // * 9024同城发货的车型(直接用系统统一的车型)
    // *
    // * @return
    // */
    // public static List<Term> sameCityNeedCarTypeList() {
    // return termMap.get("9024");
    // }

}
